home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / mactosh / util / simulare.sit / Simula 4.07 Reference / card_34473.txt < prev    next >
Text File  |  1989-05-02  |  3KB  |  115 lines

  1. -- card: 34473 from stack: in.07 Reference
  2. -- bmap block id: 0
  3. -- flags: 0000
  4. -- background id: 13647
  5. -- name: 
  6.  
  7.  
  8. -- part 1 (field)
  9. -- low flags: 00
  10. -- high flags: 0002
  11. -- rect: left=341 top=105 right=165 bottom=476
  12. -- title width / last selected line: 0
  13. -- icon id / first selected line: 0 / 0
  14. -- text alignment: 0
  15. -- font id: 3
  16. -- text size: 9
  17. -- style flags: 0
  18. -- line height: 12
  19. -- part name: 
  20.  
  21.  
  22. -- part 2 (field)
  23. -- low flags: 00
  24. -- high flags: 0002
  25. -- rect: left=341 top=168 right=269 bottom=475
  26. -- title width / last selected line: 0
  27. -- icon id / first selected line: 0 / 0
  28. -- text alignment: 0
  29. -- font id: 3
  30. -- text size: 9
  31. -- style flags: 0
  32. -- line height: 12
  33. -- part name: 
  34.  
  35.  
  36. -- part 3 (field)
  37. -- low flags: 00
  38. -- high flags: 0002
  39. -- rect: left=319 top=52 right=101 bottom=387
  40. -- title width / last selected line: 0
  41. -- icon id / first selected line: 0 / 0
  42. -- text alignment: 0
  43. -- font id: 3
  44. -- text size: 9
  45. -- style flags: 0
  46. -- line height: 12
  47. -- part name: 
  48.  
  49.  
  50. -- part 5 (button)
  51. -- low flags: 00
  52. -- high flags: 8002
  53. -- rect: left=323 top=287 right=308 bottom=445
  54. -- title width / last selected line: 0
  55. -- icon id / first selected line: 0 / 0
  56. -- text alignment: 1
  57. -- font id: 0
  58. -- text size: 12
  59. -- style flags: 0
  60. -- line height: 16
  61. -- part name: Attribute access
  62. ----- HyperTalk script -----
  63. on mouseUp
  64.   go to card id 36125
  65. end mouseUp
  66.  
  67.  
  68.  
  69.  
  70. -- part contents for background part 1
  71. ----- text -----
  72. Pointers are used to access individual objects. Pointers 
  73. are typed (or qualified) to reference a special class of 
  74. objects. This means that it can point to objects of that 
  75. class and any of its sub-classes. Many of the qualification
  76. checks can be done during compilation but in some cases
  77. the check has to be done during run-time.
  78.  
  79. It is possible to test the qualification of an object 
  80. referenced by a pointer.  
  81.  
  82. The "is" construct will answer the question if an object 
  83. is exactly of a specific qualification.
  84.  
  85. The "in" construct answers the question if an object 
  86. belongs to a class or any of its sub-classes.
  87.  
  88.  
  89. -- part contents for background part 2
  90. ----- text -----
  91. Typed object pointers
  92.  
  93. -- part contents for card part 1
  94. ----- text -----
  95. pa :- new A; ! -- OK;
  96. pb :- new B; ! -- OK;
  97. pa :- new B; ! -- OK;
  98. pb :- new A; ! -- WRONG --;
  99.  
  100. -- part contents for card part 2
  101. ----- text -----
  102. pa:- new B;
  103.  
  104. pa is A -- false
  105. pa is B  -- true
  106. pa in B  -- true
  107. pa in A  -- Always true if
  108.             -- pa =/= none
  109.  
  110. -- part contents for card part 3
  111. ----- text -----
  112. class A;;
  113. A class B;;
  114. ref(A) pa;
  115. ref(B) pb;